Snowflake ユーザ作成・ロール割り当てのチュートリアル
やりたいこと
1人ユーザ作成し2つのDBオブジェクトを自由に扱えるようにする
code:create-acccount.sql
-- ### ユーザ作成
-- ユーザを操作できるロールに変更.
use role useradmin;
-- ユーザ作成.
create user java_client
password = 'test'
login_name = 'java_client'
email = 'lsadsfj@gmail.com'
display_name = 'java_client'
must_change_password = true;
-- ### ロール作成・付与 ###
-- 権限を操作できるロールに変更.
use role securityadmin;
-- ユーザロール作成.
create role develop_role;
-- sysadminはdevelop_roleを継承.
grant role develop_role to role sysadmin;
-- java_clientにdevelop_roleを付与.
grant role develop_role to user java_client;
-- ### 仮想ウェアハウス作成 ###
-- システムを操作できるロールに変更.
use role sysadmin;
-- warehouse作成.
create warehouse dev_wh
with warehouse_size = 'xsmall'
warehouse_type = 'standard'
auto_suspend = 10
auto_resume = true;
-- dev_whはdevelop_role以上で使用可能な権限付与.
grant usage on warehouse dev_wh to role develop_role;
-- ### データベース作成 ###
-- システムを操作できるロールに変更.
use role sysadmin;
-- DWH, DMデータベース作成.
create database dev_dwh;
create database dev_dm;
-- dev_dwhはdevelop_role以上で使用可能.
grant all on database dev_dwh to role develop_role;
grant all on schema dev_dwh.public to role develop_role;
-- dev_dmはdevelop_role以上で使用可能.
grant all on database dev_dm to role develop_role;
grant all on schema dev_dm.public to role develop_role;
作成したアカウントでログインする方法
https://gyazo.com/7c0d36733f42cc76f27ae35fe7e4b69f
code:サンプルデータ.sql
CREATE OR REPLACE TABLE employees (
employee_id INT AUTOINCREMENT,
first_name STRING,
last_name STRING,
department STRING,
hire_date DATE,
salary NUMERIC(10, 2),
is_active BOOLEAN
);
INSERT INTO employees (first_name, last_name, department, hire_date, salary, is_active) VALUES
('John', 'Doe', 'Engineering', '2020-01-15', 85000, TRUE),
('Jane', 'Smith', 'Marketing', '2019-11-23', 78000, TRUE),
('Alice', 'Johnson', 'HR', '2018-05-10', 65000, TRUE),
('Bob', 'Williams', 'Engineering', '2021-07-01', 72000, TRUE),
('Carol', 'Davis', 'Finance', '2020-10-05', 95000, FALSE);
【Snowflake】ユーザの作成からロール権限設定までまとめてみた | 初期設定 | しーまんブログ
Snowflake ユーザ発行のtips - Zenn
public.icon